Skip to content

dapi v0.5.0: PyLauncher sweeps, API renames, Sphinx autodoc#7

Merged
kks32 merged 22 commits intomainfrom
dev
Mar 22, 2026
Merged

dapi v0.5.0: PyLauncher sweeps, API renames, Sphinx autodoc#7
kks32 merged 22 commits intomainfrom
dev

Conversation

@kks32
Copy link
Collaborator

@kks32 kks32 commented Mar 22, 2026

What changed

  • PyLauncher parameter sweep support via ds.jobs.parametric_sweep.generate()
    and .submit()
  • Add TMS support and auto cred on initialization of client
  • Renamed client methods for consistency (see breaking changes below)
  • Switched from black to ruff for formatting and linting
  • Fixed all 15 broken tests, 125 now passing
  • Sphinx autodoc for API reference at /api/, auto-generated from docstrings
  • New user guide pages: Files, Apps, Systems
  • Split PyLauncher notebooks into generic demo and OpenSees cantilever sweep
  • Cleaned up all example notebooks to use %pip install dapi --quiet
  • Parametric sweep submit() defaults archive_system="designsafe" so jobs
    archive to the user's storage
  • Removed hand-written API docs (replaced by Sphinx autodoc)
  • Deleted legacy _toc.yml
  • Removed author names from doc pages
  • New files: dapi/launcher.py, tests/jobs/test_parametric_sweep.py,
    docs-api/, examples/pylauncher/

Breaking changes

Renamed client methods:

Before After
ds.jobs.generate_request() ds.jobs.generate()
ds.jobs.submit_request() ds.jobs.submit()
ds.jobs.get_status() ds.jobs.status()
ds.jobs.get() ds.jobs.job()
ds.jobs.get_runtime_summary() ds.jobs.runtime_summary()
ds.files.translate_path_to_uri() ds.files.to_uri()
ds.files.translate_uri_to_path() ds.files.to_path()
ds.systems.list_queues() ds.systems.queues()

Module-level functions in dapi.jobs, dapi.files, dapi.systems are
unchanged.

kks32 added 22 commits March 18, 2026 08:31
Add check_credentials(), establish_credentials(), and revoke_credentials()
to manage Tapis Managed Secrets (TMS) SSH keys on TACC execution systems.
Includes CredentialError exception, 31 tests, docs, and example notebook.
Also fixes missing comma bug in __init__.py __all__ list.
Resolve conflicts in docs: adopt main's formatting (no emojis,
eval-rst directives) while keeping TMS credential additions.
Remove mkdocs.yml, add myst.yml for Jupyter Book v2 / MyST-MD.
Update docs.yml workflow to use jupyter-book>=2 with Node.js.
Add jupyter-book ^2.0.0 as docs dependency in pyproject.toml.
Add TMS credentials example to _toc.yml.
Replace Poetry build system with hatchling and PEP 621 metadata.
Update all GitHub Actions workflows to use astral-sh/setup-uv.
Remove poetry.lock. Add pytest step to CI workflow.
Add list_jobs() to fetch Tapis jobs as a pandas DataFrame with
optional filtering by app_id and status. Includes 14 tests.
Rename client variable to ds across all documentation examples.
- DSClient() now auto-establishes TMS credentials on TACC systems
  (frontera, stampede3, ls6). Skips gracefully on errors/no allocation.
- ds.jobs.list() supports output="df" (default), "list", or "raw".
- Simplify auth docs: DB credentials use built-in defaults, no .env needed.
- Remove manual TMS step from quickstart (now automatic).
- 59 tests pass (8 new for setup_tms, 6 new for output formats).
@kks32 kks32 self-assigned this Mar 22, 2026
@kks32 kks32 added the enhancement New feature or request label Mar 22, 2026
@kks32 kks32 merged commit 8eba67f into main Mar 22, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant